Python实现Excel跨表格复制粘贴数据

您所在的位置:网站首页 python 复制数据 Python实现Excel跨表格复制粘贴数据

Python实现Excel跨表格复制粘贴数据

#Python实现Excel跨表格复制粘贴数据| 来源: 网络整理| 查看: 265

Python通过一些模块,能够实现对excel进行操作,因而可以简化定期重复性的工作。

首先需要导入 openpyxl以及xlrd模块,在这之前则要先安装这些模块。

import openpyxl import xlrd wb1=xlrd.open_workbook(r'C:/Users/源文件.xlsx') #打开。文件地址前加r,注意地址内用/而不是\ ws_names=wb1.sheet_names() #获取sheet名称,并命名为ws_names print(ws_names) #显示sheet名称 #这里我们可以看到源文件内所包含的sheet名称,便于我们寻找需要复制的对象 ws1=wb1.sheet_by_name('Tab') #假设我们需要复制的sheet叫Tab,将该sheet命名为ws1 rows=ws1.nrows #获取ws1行数 cols=ws1.ncols #获取ws1列数 print(rows,cols) #显示ws1行、列数 data=[] #新建列表data,用于存放待粘贴数据 for i in range(rows): data.append(ws1.row_values(i)) #将待粘贴数据装入列表data newbook=openpyxl.Workbook() #新建一个工作簿newbook ws2=newbook.active #创建工作簿会创建一个默认的工作表sheet,引用并命名为ws2 for i in range(len(data)): for j in range(len(data[i])): ws2.cell(i+1,j+1,data[i][j]) #将data中的数据装入ws2,注意range的索引是从0开始的,而cell是从1开始的,所以所以要+1 sheet_need_change_name=newbook["Sheet"] #获取默认sheet名称,命名为sheet_need_change_name sheet_need_change_name.title="Copy" #变更默认sheet名称为Copy #以上是复制数据源中某个sheet中的数据,并粘贴到一个新建工作表中的方法 #下面是只复制某一列并进行粘贴的方法 colmun1_data=[] #新建列表column_data存放待粘贴数据 for i in range(rows): colmun1_data.append(ws1.cell_value(i,0)) #ws1第一列(索引是0)装入列表 print(colmun1_data) #显示列表出来看看对不对 ws3=newbook.create_sheet("COLUMN1") #在刚才建的newbook中新建sheet并命名为COLUMN1 for i in range(len(colmun1_data)): #遍历列表长度 ws3.cell(i+1,1,colmun1_data[i]) #ws3第一列装入列表数据,注意cell中的索引是从1开始的,所以第一列是i+1 print(ws3) #显示ws3出来看看对不对 newbook.save(r'C:/Users/copy.xlsx') #保存工作簿并命名为copy

如果只需要复制部分单元格,例如特定的列的某几行,只需进行如下操作:

data_specified=[] #新定义一个列表叫data_specified data_specified=ws1.col_values(1,0,4) #将该列表装入ws1的第2列第1-4行,values的索引也是从0开始,故第二列是1第一行是0 for i in range(len(data_specified)): #遍历data_specified的长度 ws3.cell(i+1,2,data_specified[i]) #将ws3装入data_specified的值 #如果是要操作某行的部分单元格,仅需要把col_values变更为row_values即可

如果只需要操作某一块单元格,如图所示B7:C10,也就是第7-10行,第2-3列。

data_matrix=[] for i in range(6,10): #假设需要复制ws1中的7-10行,2-3列 for j in range(1,3): data_matrix=ws1.cell(i,j).value #将ws1的单元格装入列表 ws3.cell(i+1,j+1).value=data_matrix #将列表装入ws3



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3